// 1: 导入axios
// 2: 请求拦截
// 3: 错误的统一处理 返回的拦截
// 4: 请求之前统一需要处理某些东西

import axios from 'axios';
import {message} from "antd";

//请求之前统一需要处理某些东西  超时时间  基础地址
//创建axios实例 -->service
let service = axios.create({
  timeout: 5000
});

//interceptors 请求的拦截
service.interceptors.request.use(function (config) {
  //config 请求的配置
  config.headers['token'] = 'abc';
  return config;

}, function (error) {
  return Promise.reject(error);
});

service.interceptors.response.use(function (res) {
  // 处理响应成功的
  return res.data;
  // 处理响应失败的

}, function (error) {
  let msgErr = '';
  switch (error.response.status) {
    case 400:
      msgErr = error.response.status + ':请求出错';
      break;
    case 404:
      msgErr = error.response.status + ':未找到';
      break;
    case 401:
      msgErr = error.response.status + ':未授权';
      break;
    case 422:
      msgErr = error.response.status + ':参数出错';
      break;
    case 500:
      msgErr = error.response.status + ':服务器错误';
      break;
    default:
      msgErr = error.response.status + ':未知错误';
      break;
  }
  message.error(msgErr);
  return Promise.reject(error);
});


export default service; // service 和 axios 一样



